Skip to content

[NV] add dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k / 新增 DeepSeek-V4-Pro FP4 GB300 Dynamo SGLang MTP 1k1k 基准测试配置#1697

Open
hshrivastava-droid wants to merge 32 commits into
mainfrom
nv/dsv4-gb300-v2
Open

[NV] add dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k / 新增 DeepSeek-V4-Pro FP4 GB300 Dynamo SGLang MTP 1k1k 基准测试配置#1697
hshrivastava-droid wants to merge 32 commits into
mainfrom
nv/dsv4-gb300-v2

Conversation

@hshrivastava-droid

@hshrivastava-droid hshrivastava-droid commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Note

Low Risk
Benchmark and CI launcher configuration only; no application runtime or auth paths change, though miswired recipe paths could waste cluster jobs.

Overview
Adds a new dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k entry in nvidia-master.yaml (separate from the existing 8k/1k sibling because the launcher pins one container image per top-level config). It targets DeepSeek-V4-Pro FP4 on GB300 with disaggregated SGLang + MTP, 1k ISL / 1k OSL, and wires 11 CONFIG_FILE scenarios: three conc=8192 throughput shapes (dep8 / dep16 / 2p1d-dep16) and eight low-latency splits (dep4 vs tp4 prefill/decode, with 1/2/4/6 decode workers).

Stages matching Slurm recipes under benchmarks/multi_node/srt-slurm-recipes/sglang/deepseek-v4/1k1k/ (Dynamo + multi-frontend for high-conc; SGLang frontend for low-lat). Decode uses EAGLE speculative decoding on all new recipes.

Also bumps several existing 8k1k GB300 recipe model.container values from a nightly tag to lmsysorg/sglang:v0.5.13.post1-cu130, documents the work in perf-changelog.yaml, and extends runners/launch_gb300-nv.sh so dynamo-sglang + dsv4 clones NVIDIA/srt-slurm main and overlays the local deepseek-v4 recipe tree at job time.

Reviewed by Cursor Bugbot for commit 90cee64. Bugbot is set up for automated code reviews on this repo. Configure here.

中文说明

nvidia-master.yaml 中新增 dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k 配置条目,用于 DeepSeek-V4-Pro FP4 在 GB300 上通过 Dynamo + SGLang + MTP 进行分离式推理基准测试(ISL 1k / OSL 1k)。包含 11 个 CONFIG_FILE 场景:3 个高吞吐拓扑(conc=8192)和 8 个低延迟拓扑。所有新配方均使用 EAGLE 投机解码。同时将若干已有 8k1k GB300 配方的容器镜像版本升级至 lmsysorg/sglang:v0.5.13.post1-cu130,并更新了 perf-changelog.yamllaunch_gb300-nv.sh 启动脚本。

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution! For vLLM & SGLang, please ensure that your recipes is similar to the official vLLM recipes and/or the SGLang cookbook

If it is not, please create a PR first before we can merge your single node PR into the master branch. Let's ensure that the documentation is first class such that the entire ML community can benefit from your hard work! Thank you

PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. If re-running failed jobs is attempted, PR authors are responsible for ensuring it passes. See GitHub's docs on re-running failed jobs: https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow

As a rule of thumb, generally, PR authors should request a review & get a PR approval from the respective companies' CODEOWNERS before requesting a review from core maintainers.

If additional help is needed, PR authors can reach out to core maintainers over Slack.


model:
path: "dsv4-pro"
container: "lmsysorg/sglang:nightly-dev-cu13-20260510-2473659e"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Low-latency recipe container missing

High Severity

The two low-latency recipes still pin model.container to lmsysorg/sglang:nightly-dev-cu13-20260510-2473659e, while dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k imports squash only for lmsysorg/sglang:nightly-dev-cu13-20260603-83bc7766. Workers resolve the recipe tag, which is not mapped in srtslurm.yaml and is documented as absent from Docker Hub, so those matrix points can fail at enroot import.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 2aeafb4. Configure here.

Comment thread .github/configs/nvidia-master.yaml Outdated
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

2 similar comments
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

Comment thread .github/configs/nvidia-master.yaml Outdated
image: lmsysorg/sglang:nightly-dev-cu13-20260603-83bc7766
model: deepseek-ai/DeepSeek-V4-Pro
model-prefix: dsv4
runner: gb300-nv

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong runner for SGLang recipes

High Severity

The new dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k entry uses runner: gb300-nv, while sibling DeepSeek-V4 GB300 dynamo-sglang configs use gb300-cw. launch_gb300-nv.sh never copies staged recipes/sglang/deepseek-v4 into srt-slurm (only glm5 gets that path), and its srtslurm.yaml omits the dsv4-pro alias many new recipes use—so srtctl apply is likely to fail on missing recipes or model preflight.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 47460ef. Configure here.

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

@Oseltamivir

Copy link
Copy Markdown
Collaborator

@hshrivastava-droid The GB300 CW are back

…to existing 8k1k key

Move the 11 isl=1024 fixed-seq-len entries out of the standalone
dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k key and append them to the
existing dsv4-fp4-gb300-dynamo-sglang-mtp key so a single top-level
config covers both 8k/1k and 1k/1k scenarios on GB300. Master config
image stays at lmsysorg/sglang:nightly-dev-20260527-14f81a67
(unchanged); the 11 new 1k/1k recipes remain pinned to
lmsysorg/sglang:v0.5.13.post1-cu130 per PR head.
Restore the 7 disagg-gb300-*.yaml recipes referenced by the non-MTP
dsv4-fp4-gb300-dynamo-sglang config to their main-branch container
tag. These bumps were unrelated to the -mtp key consolidation in
this PR.
Resolve conflicts:
- perf-changelog.yaml: take main's version and append the PR 1697 entry
  (dsv4-fp4-gb300-dynamo-sglang-mtp) at the end
- runners/launch_gb300-nv.sh: keep both concurrent dynamo-sglang elif
  branches (our dsv4 + main's qwen3.5)
@SemiAnalysisAI SemiAnalysisAI deleted a comment from Ankur-singh Jul 2, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

@functionstackx functionstackx changed the title [WIP][NV] add dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k [WIP][NV] add dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k / 新增 DeepSeek-V4-Pro FP4 GB300 Dynamo SGLang MTP 1k1k 基准测试配置 Jul 4, 2026
hshrivastava-droid and others added 2 commits July 6, 2026 11:44
Previous tag lmsysorg/sglang:nightly-dev-20260527-14f81a67 expired on
Docker Hub (404), causing every job in run 28613151268 (PR #1697) to
fail at enroot import. Bump the 8 MTP recipes and the nvidia-master
entry to lmsysorg/sglang:nightly-dev-cu13-20260706-8673e85e (verified
live). Update the PR's perf-changelog entry to reflect the bump.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
# Conflicts:
#	perf-changelog.yaml
#	runners/launch_gb300-nv.sh
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

1 similar comment
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

hshrivastava-droid added a commit that referenced this pull request Jul 10, 2026
…26) for dsv4+dynamo-sglang

The new 1k/1k STP recipes use benchmark: {type: custom, command: ...},
a schema feature that only exists on NVIDIA/srt-slurm main. Pinning
sa-submission-q2-2026 caused srtctl to reject the recipe with
"Invalid config ... {'benchmark': {'command': ['Unknown field.']}}"
before any benchmark could run (see failing sweep run 28977862941).

Same launcher fix PR #1697 already carries; applying it here so the
dynamo-sglang + dsv4 elif clones NVIDIA/srt-slurm@main.
Pin master image: and all 19 (11 x 1k1k + 8 x 8k1k) recipe model.container
values to lmsysorg/sglang:nightly-dev-cu13-20260710-cfc66e05, aligning the
whole config on the newer nightly and clearing the prior split between
1k1k (v0.5.13.post1-cu130) and 8k1k (07-06 nightly).
The runners/launch_gb300-nv.sh dynamo-sglang + dsv4 branch clones
NVIDIA/srt-slurm and previously ran 'git checkout main', so every sweep
picked up whatever srtctl 'main' happened to be at that moment.
Between the last green run (2026-06-16) and the current failing head
(2026-07-06), main advanced meaningfully, which is a plausible driver of
the recent 'decode worker exit 137 / Server did not become healthy'
failures on the byte-identical 1k1k recipes. Pin to v1.0.17 so all
future sweeps in this PR run against a fixed srtctl SHA and drift can
be ruled in or out cleanly.
Resolve the PR #1697 merge conflicts by keeping main's changelog entries and appending the branch entry, while preserving both launcher paths. Also remove recipe-level 3h Slurm limits from the new 1k1k disagg recipes so GitHub Actions' 8h cap governs the sweep.

中文:将 main 同步到 dsv4 GB300 配置分支。通过保留 main 的 changelog 条目并在末尾追加本分支条目来解决 PR #1697 的合并冲突,同时保留两个启动器路径;并移除新增 1k1k 分离式配方中的 3 小时 Slurm 限制,让 GitHub Actions 的 8 小时上限控制扫描运行。
@github-actions

Copy link
Copy Markdown
Contributor

2 similar comments
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

2 similar comments
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@hshrivastava-droid

Copy link
Copy Markdown
Collaborator Author

/reuse-sweep-run

@hshrivastava-droid hshrivastava-droid changed the title [WIP][NV] add dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k / 新增 DeepSeek-V4-Pro FP4 GB300 Dynamo SGLang MTP 1k1k 基准测试配置 [NV] add dsv4-fp4-gb300-dynamo-sglang-mtp-1k1k / 新增 DeepSeek-V4-Pro FP4 GB300 Dynamo SGLang MTP 1k1k 基准测试配置 Jul 20, 2026
@Ankur-singh

Copy link
Copy Markdown
Collaborator

/reuse-sweep-run 29540585164

@Ankur-singh

Copy link
Copy Markdown
Collaborator

As a PR reviewer and CODEOWNER, I have reviewed this and have:

  • Verified that as of the moment of typing this, this is the latest version of PR_REVIEW_CHECKLIST.md
  • Verified that the general code quality meets the InferenceX standard and does not make the code quality any worse.
  • Verified that this PR has passed PR validation. Please link to GitHub Action workflow that shows this. Run Sweep
  • Verified that this PR passes evals. Please link to GitHub Action workflow that shows this. Run Sweep
  • Verified that speculative decoding PRs uses chat templates to align the AL distribution to real world
  • For agentic workloads: verified that speculative-decoding configs (EAGLE / MTP / draft models) run with simulated synthetic acceptance, with the acceptance-length value taken from the committed golden AL curve in golden_al_distribution/ for that model, thinking mode, and draft length. A submission may choose any supported draft length, but it may not substitute a different acceptance target.
  • Verified that the model architecture isn't changed with benchmark hacks like using --hf-overrides to skipping indexer for every x layers on models that don't natively support this. As a general rule, we won't accept optimizations that reduces the number of model architecture FLOPs. Anything that makes that same computation run faster is fair game; FLOPs at lower precisions is fine, given that the config passes private evals. As an general north star princple, we should only use optimizations which is used in production by customers that care about accuracy
  • If an company claims that they support vLLM/SGLang as first class LLM inference engines on their hardware, I have verified that the respective vLLM submission made using upstream https://hub.docker.com/u/vllm docker repo, upstream SGLang https://hub.docker.com/u/lmsysorg docker repo. The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet as supported by vLLM/SGLang community maintainers
  • If an company claims that they support vLLM/SGLang as first class upstream in-tree LLM inference engines on their hardware, I have have verified that the respective vLLM/SGLang submission has been made before additional frameworks (TRT-LLM, ATOM, etc.). The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet.
  • Verified that every single-node vLLM/SGLang recipe in this PR is documented in the official vLLM recipes and/or the SGLang cookbook:
    • I linked the corresponding upstream PR in the vLLM recipe repo or SGLang repo and verified that it is MERGED before this InferenceX PR merges. An opened, draft, or closed-without-merge upstream PR does not satisfy this requirement. If the matching recipe was already published, I linked the published recipe/cookbook page in the additional detail section below.
  • Verified that this PR does not patch the inference engine or serving stack — the pinned image must run as shipped. This covers .patch files / git apply / patch, inline patches embedded in benchmark scripts (e.g. a python3/sed heredoc that rewrites installed engine sources before serving), in-place edits of site-packages, monkey-patching, overwriting container files, and installing forked/rebuilt engine wheels on top of the pinned image. The only exception is a patch covered by a filled-out waiver at docs/waiver/<PR_NUMBER>.md — named after the PR that introduces the patch and filed in that same PR, stating what is patched, why the unmodified upstream image cannot run this benchmark, the upstream PR/issue link, and the removal plan — which I have linked below in the additional detail section.
  • If any of the above criteria cannot reasonably be satisfied, I have provided additional reasoning below.

Additional detail section:

  • Run 29540585164 passed the applicable benchmarks and evals on 6d4c42c, which remains in this PR and is the immediate first parent of the current merge-only head.
  • This is a multi-node disaggregated SGLang MTP submission, so the agentic and single-node recipe requirements are not applicable. The recipes set use_chat_template: true.

Signed: Ankur-singh

@Klaud-Cold

Copy link
Copy Markdown
Collaborator

✅✅✅ Verdict: PASS ✅✅✅

✅ Check 0 (CODEOWNER): PASS — Ankur-singh is a named owner of configs/nvidia-master.yaml in .github/CODEOWNERS; all other changed paths carry only the * catch-all, which any recognized CODEOWNER satisfies.
✅ Check 1 (passing sweep on in-PR commit): PASS — commit 6d4c42c (in this PR) has green executed multi-node 1k1k /, multi-node 8k1k / and multi-node eval / check-runs from run 29540585164; the single-node */ and eval / lanes were skipped because this PR is multi-node-only.
✅ Check 2 (evals pass): PASS — the run's eval_results_all artifact shows 7 GSM8K evals at 0.961–0.966 em_strict (n=1319) for DeepSeek-V4-Pro FP4 dynamo-sglang on GB300, executed on lmsysorg/sglang:nightly-dev-cu13-20260710-cfc66e05 — the same image this PR pins in the master entry and all 19 recipe containers.
➖ Check 3 (recipe link): N/A — disaggregated/multi-node submission (srt-slurm-recipes/**, master entry multinode: true / disagg: true); the recipe-link requirement applies to single-node recipes only.
✅ Check 4 (reuse command): PASS — /reuse-sweep-run 29540585164 posted by Ankur-singh (COLLABORATOR); a bare /reuse-sweep-run from hshrivastava-droid (COLLABORATOR) is also on record.
✅ Check 5 (latest checklist template): PASS — every item in the current docs/PR_REVIEW_CHECKLIST.md template is present and checked in the sign-off.
✅ Check 6 (upstream image / engine-first): PASS — all images are upstream lmsysorg/sglang:*; the PR adds no new non-vLLM/SGLang framework entry, it extends the existing SGLang-engine dsv4-fp4-gb300-dynamo-sglang-mtp entry.
✅ Check 7 (no architecture hacks): PASS — no --hf-overrides/model-override args anywhere in the diff; changes are parallelism topology, EAGLE spec-decode, and serving/harness knobs only.
✅ Check 8 (spec-decode chat template): PASS — all 11 new EAGLE/MTP recipes set use_chat_template: true in their benchmark blocks.
✅ Check 9 (no engine patches): PASS — no .patch/git apply/heredoc rewrites or engine wheel installs; the launch_gb300-nv.sh change only clones the srt-slurm harness and overlays local recipe YAMLs.
➖ Check 10 (agentic golden AL): N/A — no agentic spec-decode changes; the non-agentic MTP recipes correctly run real (unsimulated) acceptance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants